import {
  BaseEntity,
  Column,
  Entity,
  PrimaryColumn,
  PrimaryGeneratedColumn,
} from 'typeorm'

// 资产表
@Entity({ name: 'asset' })
export class Asset extends BaseEntity {
  // 自增主键
  @PrimaryGeneratedColumn({ type: 'int', name: 'id' })
  id: number

  // 资产编码
  @Column({
    type: 'varchar',
    name: 'assetCode',
  })
  assetCode: string

  // 资产类型
  @Column({
    type: 'int',
    name: 'typeId',
  })
  typeId: number

  // 所属部门
  @Column({
    type: 'varchar',
    name: 'branchName',
    nullable: true,
  })
  branchName: string

  // 所属部门id
  @Column({
    type: 'int',
    name: 'branchId',
    nullable: true,
  })
  branchId: number

  // 使用人
  @Column({
    type: 'varchar',
    name: 'user',
    nullable: true,
  })
  user: string

  // 使用人id
  @Column({
    type: 'int',
    name: 'userId',
    nullable: true,
  })
  userId: number

  // 资产名称
  @Column({
    type: 'varchar',
    name: 'assetName',
  })
  assetName: string

  // 品牌
  @Column({
    type: 'varchar',
    name: 'brand',
    nullable: true,
  })
  brand: string

  // 单价
  @Column({
    type: 'double',
    name: 'price',
  })
  price: number

  // 单位
  @Column({
    type: 'varchar',
    name: 'unit',
    nullable: true,
  })
  unit: string

  // 规格型号
  @Column({
    type: 'varchar',
    name: 'model',
    nullable: true,
  })
  model: string

  // 功能描述
  @Column({
    type: 'varchar',
    name: 'function',
    nullable: true,
  })
  function: string

  // 存储位置
  @Column({
    type: 'int',
    name: 'warehouseId',
  })
  warehouseId: number

  // 备注
  @Column({
    type: 'varchar',
    name: 'remark',
    nullable: true,
  })
  remark: string

  // 资产状态
  // 1 正常 2 已领用 3 盘亏出库 4 盘盈入库  5: 已报废 6 维修中 7 维修失败
  @Column({
    type: 'varchar',
    name: 'assetStatus',
    nullable: true,
  })
  assetStatus: string

  // 是否删除
  @Column({
    type: 'tinyint',
    name: 'isDelete',
    nullable: true,
  })
  isDelete: boolean
}
